package com.app.service;

import com.app.common.Result;
import com.app.model.DividedIntoRecord;
import com.app.model.UserModel;
import com.baomidou.mybatisplus.extension.service.IService;

import java.math.BigDecimal;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author yoominic
 * @since 2024-05-30
 */
public interface IDividedIntoRecordService extends IService<DividedIntoRecord> {

    /**
     * 按区域代理划分
     *
     * @param totalVoucher  凭证合计
     * @param serialNumber  序列号
     * @param type          类型 代理抽成类型（1转账/2套餐购买/3兑换商品）
     * @param consumerUser  消费者用户
     * @param obtainingUser 获取用户
     */
    public void dividingByRegionalAgent(UserModel consumerUser,UserModel obtainingUser, BigDecimal totalVoucher, String serialNumber, Integer type);


    /**
     * 按区域代理回滚
     *
     * @param serialNumber 序列号
     */
    public void RollBackByRegionalAgent(String name,String serialNumber);

    /**
     * 页数
     *
     * @param beginTime 开始时间
     * @param endTime   结束时间
     * @param page      第页
     * @param limit     限制
     * @param areaId    区域id
     * @param keyword   关键词
     * @return {@link Result}
     */
    Object pages(String beginTime, String endTime, Integer page, Integer limit, String areaId,String cityId, String keyword,Integer type);

    Object dataStatistics(String beginTime, String endTime, String areaId, String cityId, String keyword,Integer type);

    BigDecimal queryPlatformDrawing(String startTime, String endTime);

    /**
     * 查询合计draw平台
     *
     * @return {@link BigDecimal}
     */
    BigDecimal queryTotalDrawPlatform();
}
